package br.com.calculadora.activity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Spinner;
import br.com.calculadora.FisicaCalc;
import br.com.calculadora.R;
import br.com.calculadora.model.FisicaBean;

public class ArmazenarDadosActivity extends BaseActivity {

	// private final String TAG = CalcularActivity.class.getSimpleName();

	private LinearLayout lnAceleracao;
	private LinearLayout lnCoeficienteDeAtrito;
	private LinearLayout lnDeslocamento;
	private LinearLayout lnDeslocamentoInicial;
	private LinearLayout lnDeslocamentoFinal;
	private LinearLayout lnForca;
	private LinearLayout lnMassa;
	private LinearLayout lnForcaDeAtrito;
	private LinearLayout lnNormal;
	private LinearLayout lnPeso;
	private LinearLayout lnTempo;
	private LinearLayout lnVelocidadeFinal;
	private LinearLayout lnVelocidadeInicial;
	private LinearLayout lnVelocidadeMedia;
	private LinearLayout lnGravidade;
	private LinearLayout lnTempoInicial;
	private LinearLayout lnTempoFinal;
	
	private EditText edAceleracao;
	private EditText edCoeficienteDeAtrito;
	private EditText edDeslocamento;
	private EditText edDeslocamentoFinal;
	private EditText edDeslocamentoInicial;
	private EditText edForca;
	private EditText edMassa;
	private EditText edForcaDeAtrito;
	private EditText edNormal;
	private EditText edPeso;
	private EditText edTempo;
	private EditText edVelocidadeFinal;
	private EditText edVelocidadeInicial;
	private EditText edVelocidadeMedia;
	private EditText edGravidade;
	private EditText edTempoInicial;
	private EditText edTempoFinal;
	
	private Spinner spAceleracao;
	private Spinner spCoeficienteDeAtrito;
	private Spinner spDeslocamento;
	private Spinner spDeslocamentoFinal;
	private Spinner spDeslocamentoInicial;
	private Spinner spForca;
	private Spinner spMassa;
	private Spinner spForcaDeAtrito;
	private Spinner spNormal;
	private Spinner spPeso;
	private Spinner spTempo;
	private Spinner spVelocidadeFinal;
	private Spinner spVelocidadeInicial;
	private Spinner spVelocidadeMedia;
	private Spinner spGravidade;
	private Spinner spTempoInicial;
	private Spinner spTempoFinal;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.calcular);

		lnAceleracao = findLinear(R.id.lnAceleracao);
		lnCoeficienteDeAtrito = findLinear(R.id.lnCoeficienteDeAtrito);
		lnDeslocamento = findLinear(R.id.lnDeslocamento);
		lnDeslocamentoInicial = findLinear(R.id.lnDeslocamentoInicial);
		lnDeslocamentoFinal = findLinear(R.id.lnDeslocamentoFinal);
		lnForca = findLinear(R.id.lnForca);
		lnMassa = findLinear(R.id.lnMassa);
		lnForcaDeAtrito = findLinear(R.id.lnForcaDeAtrito);
		lnNormal = findLinear(R.id.lnNormal);
		lnPeso = findLinear(R.id.lnPeso);
		lnTempo = findLinear(R.id.lnTempo);
		lnVelocidadeFinal = findLinear(R.id.lnVelocidadeFinal);
		lnVelocidadeInicial = findLinear(R.id.lnVelocidadeInicial);
		lnVelocidadeMedia = findLinear(R.id.lnVelocidadeMedia);
		lnGravidade = findLinear(R.id.lnGravidade);
		lnTempoInicial = findLinear(R.id.lnTempoInicial);
		lnTempoFinal = findLinear(R.id.lnTempoFinal);

		edAceleracao = findEditText(R.id.edAceleracao);
		edCoeficienteDeAtrito = findEditText(R.id.edCoeficienteDeAtrito);
		edDeslocamento = findEditText(R.id.edDeslocamento);
		edDeslocamentoFinal = findEditText(R.id.edDeslocamentoFinal);
		edDeslocamentoInicial = findEditText(R.id.edDeslocamentoInicial);
		edForca = findEditText(R.id.edForca);
		edMassa = findEditText(R.id.edMassa);
		edForcaDeAtrito = findEditText(R.id.edForcaDeAtrito);
		edNormal = findEditText(R.id.edNormal);
		edPeso = findEditText(R.id.edPeso);
		edTempo = findEditText(R.id.edTempo);
		edVelocidadeFinal = findEditText(R.id.edVelocidadeFinal);
		edVelocidadeInicial = findEditText(R.id.edVelocidadeInicial);
		edVelocidadeMedia = findEditText(R.id.edVelocidadeMedia);
		edGravidade = findEditText(R.id.edGravidade);
		edTempoInicial = findEditText(R.id.edTempoInicial);
		edTempoFinal = findEditText(R.id.edTempoFinal);
		
		spAceleracao = findSpinner(R.id.spAceleracao);
		spCoeficienteDeAtrito = findSpinner(R.id.spCoeficienteDeAtrito);
		spDeslocamento = findSpinner(R.id.spDeslocamento);
		spDeslocamentoFinal = findSpinner(R.id.spDeslocamentoFinal);
		spDeslocamentoInicial = findSpinner(R.id.spDeslocamentoInicial);
		spForca = findSpinner(R.id.spForca);
		spMassa = findSpinner(R.id.spMassa);
		spForcaDeAtrito = findSpinner(R.id.spForcaDeAtrito);
		spNormal = findSpinner(R.id.spNormal);
		spPeso = findSpinner(R.id.spPeso);
		spTempo = findSpinner(R.id.spTempo);
		spVelocidadeFinal = findSpinner(R.id.spVelocidadeFinal);
		spVelocidadeInicial = findSpinner(R.id.spVelocidadeInicial);
		spVelocidadeMedia = findSpinner(R.id.spVelocidadeMedia);
		spGravidade = findSpinner(R.id.spGravidade);
		spTempoInicial = findSpinner(R.id.spTempoInicial);
		spTempoFinal = findSpinner(R.id.spTempoFinal);
		
		Button btInserirDados = findButton(R.button.btInserirDados);
		btInserirDados.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				startActivityForResult(new Intent(getApplicationContext(), InserirDadosActivity.class), 0);
			}
		});

		Button btDesejaCalcular = findButton(R.button.btEscolherDado);
		btDesejaCalcular.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				armazenarValores();
				Intent intent = new Intent(getApplicationContext(), CalcularActivity.class);
				//intent.putExtra(FisicaCalc.BEAN, fisicaBean);
				startActivity(intent);
			}
		});
	}

	private void armazenarValores() {
		FisicaBean fisicaBean = FisicaCalc.getFisicaBean();
		fisicaBean.setAceleracao(edAceleracao.getText().toString());
		fisicaBean.setCoeficienteDeAtrito(edCoeficienteDeAtrito.getText().toString());
		fisicaBean.setDeslocamento(edDeslocamento.getText().toString());
		fisicaBean.setDeslocamentoFinal(edDeslocamentoFinal.getText().toString());
		fisicaBean.setDeslocamentoInicial(edDeslocamentoInicial.getText().toString());
		fisicaBean.setForca(edForca.getText().toString());
		fisicaBean.setForcaDeAtrito(edForcaDeAtrito.getText().toString());
		fisicaBean.setGravidade(edGravidade.getText().toString());
		fisicaBean.setMassa(edMassa.getText().toString());
		fisicaBean.setNormal(edNormal.getText().toString());
		fisicaBean.setPeso(edPeso.getText().toString());
		fisicaBean.setTempo(edTempo.getText().toString());
		fisicaBean.setTempoFinal(edTempoFinal.getText().toString());
		fisicaBean.setTempoInicial(edTempoInicial.getText().toString());
		fisicaBean.setVelocidadeFinal(edVelocidadeFinal.getText().toString());
		fisicaBean.setVelocidadeInicial(edVelocidadeInicial.getText().toString());
		fisicaBean.setVelocidadeMedia(edVelocidadeMedia.getText().toString());
	}
	
	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		super.onActivityResult(requestCode, resultCode, data);
		if (resultCode == FisicaCalc.ACELERACAO) {
			lnAceleracao.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.COEFICIENTE_ATRITO) {
			lnCoeficienteDeAtrito.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.DESLOCAMENTO) {
			lnDeslocamento.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.DESLOCAMENTO_INICIAL) {
			lnDeslocamentoInicial.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.DESLOCAMENTO_FINAL) {
			lnDeslocamentoFinal.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.FORCA) {
			lnForca.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.FORCA_ATRITO) {
			lnForcaDeAtrito.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.MASSA) {
			lnMassa.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.NORMAL) {
			lnNormal.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.PESO) {
			lnPeso.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.TEMPO) {
			lnTempo.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.VELOCIDADE_FINAL) {
			lnVelocidadeFinal.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.VELOCIDADE_INICIAL) {
			lnVelocidadeInicial.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.VELOCIDADE_MEDIA) {
			lnVelocidadeMedia.setVisibility(View.VISIBLE);
		}  else if (resultCode == FisicaCalc.TEMPO_FINAL) {
			lnTempoFinal.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.TEMPO_INICIAL) {
			lnTempoInicial.setVisibility(View.VISIBLE);
		} else if (resultCode == FisicaCalc.GRAVIDADE) {
			lnGravidade.setVisibility(View.VISIBLE);
		}
	}
}
